home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh5x
/
sh56b.d64
/
logical bricks
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
19KB
|
537 lines
10 REM" [213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]
11 [143]" PEEK PEEK
12 REM" [194] L O G I C A L B R I C K S [194]
13 [143]" PEEK PEEK
14 REM" [194] [194]
15 [143]" PEEK VON PEEK
16 REM" [194] [194]
17 [143]" PEEK MANFRED WERNER PEEK
18 REM" [194] ZIMMERMANNSTR. 27 [194]
19 [143]" PEEK 1000 BERLIN 41 PEEK
20 REM" [194] [194]
21 [143]" PEEK 1990 PEEK
22 REM" [194] [194]
23 [143]" MID$LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN(null)
24 REM"
25 [143]"
100 GOTO 550
104 REM ------------------------------
105 PRINT " [146][157]";
106 GET C$: IF C$="" GOTO 106
107 C=ASC(C$): PRINT " [157]";: RETURN
109 REM ------------------------------
110 GOSUB 105: E=-(C=17)-2*(C=145): E=E-3*(C=157)-4*(C=133)
111 IF E>0 THEN PRINT " [157]";
112 RETURN
114 REM ------------------------------
115 GOSUB 105: IF C=13 THEN PRINT " [157]";: RETURN
116 GOTO 115
159 REM ------------------------------
160 X$="": XL=0
170 GOSUB 110: IF E>0 THEN RETURN
171 IF G AND F GOTO 202
175 IF F1 AND XL=0 AND (C=63) THEN G=-1: PRINT C$;:X$=X$+C$:XL=1:GOTO170
180 AL=C>64 AND C<91: ZA=C>47 AND C<58
190 IF (AL OR ZA) AND XL<4 THEN PRINT C$;: X$=X$+C$: XL=XL+1
200 IF XL=0 GOTO 170
202 IF C<>20 GOTO 214
204 PRINT " [157][157]";: XL=XL-1: X$=LEFT$(X$,XL): G=0: GOTO 170
214 IF C<>Z1 AND C<>Z2 GOTO 170
215 PRINT C$;: Z1=C+1-(C=91): Z2=Z1
216 IF XL=4 THEN RETURN
217 X$=X$+" ": XL=XL+1: GOTO 216
219 REM -------------------------------
220 FOR M=1 TO H: P%(K,M,1)=VAL(MID$(A$(K),11+M,1))
221 IF P%(K,M,1)=0 THEN M=M-1: GOTO 223
222 NEXT M
223 Z%(K)=M: F%(K)=5:IF M=1 THEN F%(K)=1
224 RETURN
225 REM -------------------------------
226 FOR M=1 TO H-1: P%(K,M,1)=M: P%(K,M,2)=M+1
227 NEXT M: Z%(K)=H-1: F%(K)=2: RETURN
229 REM -------------------------------
230 FOR M=1 TO H-1: P%(K,M,1)=M+1: P%(K,M,2)=M
231 NEXT M: Z%(K)=H-1: F%(K)=2: RETURN
234 REM -------------------------------
235 FOR M=1 TO H: P%(K,M,1)=M: P%(K,M,2)=M
236 NEXT M:Z%(K)=H: IF C=0 THEN F%(K)=7: RETURN
237 KL$=MID$(A$(K),16,1): IF KL$="[" THEN F%(K)=6: RETURN
238 F%(K)=2: RETURN
239 REM -------------------------------
240 FOR M1=1 TO H-2
241 : FOR M2=1 TO 2: M=2*M1+M2-2: P%(K,M,1)=M1+1
242 : P%(K,M,2)=M1-2+2*M2: P%(K,M,3)=M1+4-2*M2
243 NEXT M2,M1: Z%(K)=2*(H-2): F%(K)=3: RETURN
244 REM -------------------------------
245 FOR M1=1 TO H-1: FOR M2=1 TO 2: M=2*M1+M2-2
246 : P%(K,M,1)=M1+M2-1: P%(K,M,2)=M1-M2+2
247 NEXT M2,M1: Z%(K)=2*(H-1): F%(K)=4: RETURN
249 REM -------------------------------
280 FOR I=1 TO AN: A$(I)="": NEXT I
281 FOR I=1 TO R: BN%(I)=0: R$(I)="": FOR J=1 TO H: I%(J,I)=0: B$(J,I)=""
282 NEXT J,I: RN=0: RETURN
289 REM -------------------------------
290 FOR Z=4 TO 2*R+2 STEP 2
291 FOR S=1 TO 5*H-4 STEP 5: M$=" ": GOSUB 440
292 NEXT S,Z: RETURN
294 REM -------------------------------
295 POKE 214,3: POKE 211,0: SYS 58640
296 FOR I=1 TO 15: PRINT LE$+" ";
297 NEXT I: RETURN
329 REM -------------------------------
330 N%(I)=N%(N1):N%(N1)=IH:N1=N1+1: RETURN
334 REM -------------------------------
335 N%(K)=N%(N1):N%(N1)=KH:N1=N1+1: RETURN
359 REM -------------------------------
360 FOR I=1 TO H: IF I%(I,R%(N,2))=B%(N,2) GOTO 362
361 NEXT I
362 A$=A$(N): R0=R%(N,1): I0=I%(I,R0)
363 A$(N)=LEFT$(A$,5)+""+B$(I0,R0) +"[146]"+RIGHT$(A$,12): RETURN
364 REM ------------------------------
365 FOR I=1 TO H: IF I%(I,R%(N,1))=B%(N,1) GOTO 367
366 NEXT I
367 R0=R%(N,2)
368 A$(N)=LEFT$(A$(N),16)+"" +B$(I%(I,R0),R0)+"[146])": RETURN
369 REM ------------------------------
370 FOR I=1 TO H: IF I%(I,R%(N,1))=B%(N,1) GOTO 372
371 NEXT I
372 A$(N)=LEFT$(A$(N),11)+""+STR$(I) +"[146]": RETURN
374 REM -------------------------------
375 A$=A$(N):R0=R%(N,1):I0=I%(L%(N),R0)
376 A$(N)=LEFT$(A$,5)+""+B$(I0,R0) +"[146]"+RIGHT$(A$,3)
377 RETURN
404 REM -------------------------------
405 FOR I=2 TO X: T$=T$+T0$: NEXT I: T$=T$+X$: PRINT T$: RETURN
409 REM -------------------------------
410 FOR I=1 TO X: T$=T$+X$: NEXT I: RETURN
414 REM -------------------------------
415 T$=T$+X$
416 T$=T$+Y$
417 Z=Z+1: M$=T$: GOSUB 440: RETURN
434 REM -------------------------------
435 Z=21:S=1: M$=LE$: GOSUB 440: M$=M0$
439 Z=21: S=1
440 POKE 214,Z: POKE 211,S: SYS 58640: PRINT M$;: RETURN
459 REM -------------------------------
460 R0=R%(N,H0): B0=B%(N,H0): P1=V%(N,VN%(N)): P0=P%(N,P1,H0)
461 Z=2*R0+2: S=5*P0-4: M$=B$(B0,R0): GOSUB 440: I%(P0,R0)=B0: RETURN
469 REM -------------------------------
470 FOR I=1 TO 3: H0=H%(N,I): IF H0=0 GOTO 474
471 : R0=R%(N,H0): P1=V%(N,VN%(N)): P0=P%(N,P1,H0)
472 : Z=2*R0+2: S=5*P0-4: M$=" ": GOSUB 440: I%(P0,R0)=0
474 NEXT I: RETURN
489 REM -------------------------------
490 C$=MID$(A$,I,1): C=ASC(C$+CHR$(0)): IF C=32 THEN I=I+1: GOTO 490
495 I=I+1: RETURN
499 REM -------------------------------
500 X$="": XL=0
501 GOSUB 490: IF C<>63 THEN F=0: GOTO 512
502 GOSUB 490: IF C<>Z1 AND C<>Z2 THEN E=-1: RETURN
503 A0$=A0$+"? )": F=-1: GOTO 517
510 X$="": XL=0
511 GOSUB 490
512 ZB=C>64 AND C<91 OR C>47 AND C<58
513 IF ZB THEN X$=X$+C$:XL=XL+1:GOTO 511
514 IF C<>Z1 AND C<>Z2 OR XL=0 THEN E=-1: RETURN
515 IF XL<4 THEN X$=X$+" ": XL=XL+1: GOTO 515
516 X$=LEFT$(X$,4): A0$=A0$+X$+C$
517 M$=STR$(K)+" "+A0$: GOSUB 439: E=0: RETURN
549 REM -------------------------------
550 T0$="[195]": T1$="[213]": T2$="[201]": T3$="[202]": T4$="[203]": T5$="[194]": T6$="[171]": T7$="[179]"
551 T8$="[195][195][195][195]"
552 LE$=" "
558 POKE 53280,6: POKE 53281,6
559 REM -------------------------------
560 DIM A$(60),I%(7,8),B$(7,8),R$(8), BN%(8),P%(60,12,3)
561 DIM Z%(60),JN%(60),L%(60),F%(60), N%(60),MA%(60),MB%(60),V%(60,12)
562 DIM VN%(60),VM%(60),V1%(60),V2%(60), R%(60,3),B%(60,3),H%(60,3)
599 REM -------------------------------
600 T$="[147][213]": X=30: X$=T2$: GOSUB 405
610 T$= "[194] L O G I C A L ": T$=T$+"B R I C K S [194]": PRINT T$
620 T$=T3$: X$=T4$: GOSUB 405
640 POKE 214,20: POKE 211,0: SYS 58640
650 T$=T1$: X=38: X$=T2$: GOSUB 405
670 T$= "[194] [194]": PRINT T$
680 T$=T3$: X$=T4$: GOSUB 405: GOTO 813
699 REM -------------------------------
700 M0$="EINHEITEN: ?[146][157]": GOSUB 435
710 GET C$: IF C$="" GOTO 710
720 H=ASC(C$)-48:IF H<2 OR H>7 GOTO 710
730 PRINT C$+" RUBRIKEN: ?[146][157]";
740 GET C$: IF C$="" GOTO 740
750 R=ASC(C$)-48:IF R<2 OR R>8 GOTO 740
761 PRINT C$+" AUSSAGEN: ?[146][157]";
762 GET C$: IF C$="" GOTO 762
763 PRINT C$;: A1=ASC(C$)-48: IF A1<0 OR A1>9 GOTO 762
764 PRINT "?[146][157]";: GET C$: IF C$="" GOTO 764
765 PRINT C$;: A0=ASC(C$)-48: IF A0<0 OR A0>9 GOTO 764
766 AN=A0+10*A1: IF AN<10 OR AN>60 THEN PRINT "[157] [157][157]?[146][157]";: GOTO 762
767 GOTO 985
769 REM -------------------------------
810 M0$="AUSSAGEN ALS DATEN LESEN ": GOSUB 435
811 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 813,900
812 GOTO 811
813 M0$="AUSSAGEN-EDITOR ": GOSUB 435
814 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 810,700
815 GOTO 814
899 REM -------------------------------
900 READ H,R,AN
901 FOR I=1 TO AN: READ A$(I): NEXT I
910 M0$="SYNTAX-TEST": GOSUB 435
915 FOR K=1 TO AN: A$=A$(K): IF A$="" GOTO 930
920 : GOSUB 1102
925 : IF E THEN M0$="SYNTAX-FEHLER": GOSUB 435:GOSUB 105: GOTO 990
926 : A$(K)=A0$
930 NEXT K: GOTO 1200
984 REM ------AUSSAGENEDITOR-----------
985 K=1
990 A$(K)="": F=0
994 A$=A$(K): AL=LEN(A$)
995 M0$=STR$(K)+" "+A$: GOSUB 435: AE=0
1000 GOSUB 105: ON -(C<32)-2*(C>95) GOTO 1020,1025
1005 IF AL=33 GOTO 1000
1010 PRINT C$;: A$=A$+C$: AL=AL+1: AE=-1: GOTO 1000
1020 ON -(C=13)-2*(C=17)-3*(C=20) GOTO 1100,1045,1035
1021 GOTO 1000
1025 ON -(C=133)-2*(C=145)-3*(C=157) GOTO 1200,1055,990
1030 GOTO 1000
1035 IF AL=0 GOTO 1000
1040 PRINT " [157][157]";: AL=AL-1: AE=-1: A$=LEFT$(A$,AL): GOTO 1000
1045 IF AE THEN A$(K)=""
1046 K=K+1: IF K>AN THEN K=1
1050 GOTO 994
1055 IF AE THEN A$(K)=""
1056 K=K-1: IF K=0 THEN K=AN
1060 GOTO 994
1100 IF A$="" GOTO 1000
1101 GOSUB 1102: GOTO 1190
1102 I=1: A0$="": M$=LE$: GOSUB 439
1103 Z1=40: Z2=Z1: GOSUB 510: IF E THEN RETURN
1105 Z1=41: Z2=Z1: GOSUB 500: IF E THEN RETURN
1110 GOSUB 490: O=C: ON -(C=43)-2*(C=61) GOTO 1150,1175
1120 IF F THEN E=-1: RETURN
1125 ON -(C=0)-2*(C=60 OR C=62 OR C=35) -3*(C=58) GOTO 1130,1150,1135
1130 E=0: RETURN
1135 A0$=A0$+C$: Z1=40: Z2=Z1: GOSUB 510 : IF E THEN RETURN
1140 Z1=41: Z2=Z1: GOSUB 510: IF E THEN RETURN
1145 GOSUB 490: IF C<>44 THEN E=0: RETURN
1150 A0$=A0$+C$: Z1=40: Z2=Z1-51*(NOT F AND O=43)
1151 GOSUB 510: IF E THEN RETURN
1155 Z1=C-(C=91)+1: Z2=Z1: ON 1-(Z1=93 OR F) GOSUB 500,510
1160 IF E THEN RETURN
1165 GOSUB 490: IF C<>0 THEN E=-1: RETURN
1170 E=0: RETURN
1175 A0$=A0$+C$: C1=0
1176 GOSUB 490
1178 IF C>48 AND C<(49+H) AND C>C1 THEN A0$=A0$+C$: C1=C: GOTO 1176
1180 IF F OR C1>0 GOTO 1184
1182 IF C=63 THEN A0$=A0$+C$: GOSUB 490
1184 GOSUB 517: E=(C<>0): RETURN
1190 IF E THEN M0$="SYNTAX-FEHLER": GOSUB 435: GOSUB 105: GOTO 990
1195 A$(K)=A0$: GOTO 1046
1199 REM -------UEBERSICHT-------------
1200 M0$="ALLE BEGRIFFE AUFLISTEN ": GOSUB 435: IF TA GOTO 2000
1205 Z=2: S=0
1210 T$=T1$: FOR I=1 TO H-1: T$=T$+"[195][195]"
1211 T$=T$+RIGHT$(STR$(I),1)+"[146][195][178]"
1212 NEXT I: T$=T$+"[195][195]"+RIGHT$(STR$(H),1)+"[146][195]"
1215 Y$=T2$: GOSUB 416
1220 FOR J=1 TO R-1: T$=""
1225 : X=H: X$="[194] ": GOSUB 410: Y$=T5$: GOSUB 416
1230 : T$=T6$: X=H-1: X$="[195][195][195][195][219]": GOSUB 410
1235 : X$=T8$: Y$=T7$: GOSUB 415
1240 NEXT J: T$=""
1245 X=H: X$="[194] ": GOSUB 410: Y$=T5$: GOSUB 416
1250 T$=T3$: X=H-1:X$="[195][195][195][195][177]": GOSUB 410: X$=T8$: Y$=T4$: GOSUB 415
1260 TA=-1
1999 REM -----AUSSAGENCODIERUNG--------
2000 KN=0: KM=AN+1
2005 FOR K=1 TO AN: A$=A$(K): Y1=-1: C$=MID$(A$,12,1): Y2=(C$<>"?")
2010 : IF A$="" GOTO 2220
2020 : O$=MID$(A$,11,1)
2021 : C=ASC(O$+CHR$(0))
2030 : J=-(C=43 OR C=60 OR C=62 OR C=35)-2*(C=58): JN%(K)=J+1
2031 : ON -(C=0 OR C=43)-2*(C=61) GOSUB 235,220
2032 : ON -(C=60)-2*(C=62)-3*(C=35) GOSUB 225,230,245
2033 : IF C=58 THEN GOSUB 240
2040 : FOR I=0 TO J: P=11*I+1: : R$=MID$(A$,P,4)
2050 : FOR I1=0 TO RN
2051 : IF R$=R$(I1) THEN R%(K,I+1)=I1: GOTO 2120
2060 : NEXT I1
2070 : RN=RN+1:IF RN<=R GOTO 2110
2080 : M1$="ZU VIELE RUBRIKEN": GOTO 2250
2110 : R$(RN)=R$: R%(K,I+1)=RN
2111 : Z=2*I1+2: S=5*H+1: M$=""+R$+"[146]": GOSUB 440
2120 : B$=MID$(A$,P+5,4)
2121 : IF B$="? " THEN F%(K)=I+1: Y1=0: GOTO 2210
2129 : FOR J1=0 TO BN%(I1)
2130 : IF B$=B$(J1,I1) THEN B%(K,I+1)=J1: GOTO 2210
2140 : NEXT J1
2150 : BN%(I1)=BN%(I1)+1: IF BN%(I1)<=H GOTO 2190
2160 : M1$="ZU VIELE BEGRIFFE/": M1$=M1$+"RUBR"
2170 : GOTO 2250
2190 : B$(BN%(I1),I1)=B$: B%(K,I+1)=BN%(I1)
2200 : Z=2*I1+2: S=5*BN%(I1)-4: M$=B$: GOSUB 440
2210 : NEXT I
2211 : IF Y1 AND Y2 THEN KN=KN+1: N%(KN)=K: GOTO 2220
2212 : IF O$="=" THEN F%(K)=3-Y2: L%(K)=VAL(C$)
2213 : KM=KM-1: N%(KM)=K
2220 NEXT K
2229 E1=-1
2230 FOR I1=1 TO R: E1=(BN%(I1)=H) AND E1
2240 NEXT I1: IF E1 AND RN=R GOTO 3000
2245 M1$="ZU WENIGE BEGRIFFE"
2250 M0$=M1$+" - KORREKTUR ": GOSUB 435
2251 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 2253,2260
2252 GOTO 2251
2253 M0$=M1$+" - ABBRUCH ": GOSUB 435
2254 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 2250,5000
2255 GOTO 2254
2260 GOSUB 290:GOSUB 281: GOTO 994
2999 REM --------ORDNEN 1/2------------
3000 M1$="LOGIK-BAUSTEINE ORDNEN ": M0$=M1$: GOSUB 435: GOSUB 115
3005 GOSUB 290: K0=KN: N0=1: K=1: M0$=M1$+"- SCHRITT 1": GOSUB 435
3010 OA=0: OB=0: UA=KN+1: UB=KN+1
3015 N=N%(K): ON F%(N) GOTO 3020,3080,3040,3045,3065,3050,3055
3020 R0=R%(N,1):B0=B%(N,1):P0=P%(N,1,1)
3021 IF I%(P0,R0)=B0 GOTO 3060
3025 IF I%(P0,R0)<>0 GOTO 4990
3030 FOR P1=1 TO H: IF I%(P1,R0)=B0 GOTO 4990
3035 NEXT P1: GOSUB 461: GOTO 3120
3040 OA=OA+1: MA%(OA)=N: GOTO 3060
3045 UA=UA-1: MA%(UA)=N: GOTO 3060
3050 OB=OB+1: MB%(OB)=N: GOTO 3060
3055 UB=UB-1: MB%(UB)=N
3060 N%(K)=N%(K0): K0=K0-1: GOTO 3067
3065 N%(K)=N%(N0): N%(N0)=N: N0=N0+1
3066 K=K+1
3067 IF K<=K0 GOTO 3015
3068 GOTO 3130
3080 FOR L=1 TO 2
3081 FOR P1=1 TO Z%(N)
3085 : IF I%(P%(N,P1,L),R%(N,L))=B%(N,L) GOTO 3095
3090 NEXT P1,L: GOTO 3066
3095 R0=R%(N,3-L): B0=B%(N,3-L): P0=P%(N,P1,3-L)
3096 IF RIGHT$(M0$,1)="2" GOTO 3100
3097 M0$=M1$+"- SCHRITT 2": GOSUB 435
3100 IF I%(P0,R0)=B0 GOTO 3120
3105 IF I%(P0,R0)<>0 GOTO 4990
3110 FOR P2=1 TO H: IF I%(P2,R0)=B0 GOTO 4990
3115 NEXT P2: GOSUB 461
3120 N%(K)=N%(K0):K0=K0-1:K=N0:GOTO 3015
3130 K2=K0: IF OA=0 GOTO 3136
3135 FOR I=1 TO OA:N%(K0+I)=MA%(I):NEXT: K2=K0+OA
3136 IF UA=KN+1 GOTO 3150
3140 FOR I=1 TO KN-UA+1: N%(K2+I)=MA%(UA+I-1)
3145 NEXT I: K2=K2+KN-UA+1
3150 K1=K2: IF OB=0 GOTO 3400
3155 FOR I=1 TO OB:N%(K1+I)=MB%(I):NEXT: K1=K1+OB
3399 REM ------ORDNEN 3/4--------------
3400 M0$=M1$+"- SCHRITT 3": GOSUB 435: N0=1: K=K0+1: Q=0: GOTO 3405
3401 IF K>N0 THEN N%(K)=N%(N0):N%(N0)=N
3403 N0=N0+1
3404 K=N0
3405 IF K<=K2 GOTO 3510
3406 IF Q GOTO 4500
3407 M0$=M1$+"- SCHRITT 4": GOSUB 435: Q=-1: K=N0
3408 M0=0: N1=N0
3409 K=K+1: IF K>K2 GOTO 3430
3410 KH=N%(K): G=0
3411 IF K<=N1 GOTO 3420
3412 FOR I=N1 TO K-1: IH=N%(I)
3413 : FOR J1=1 TO JN%(IH): FOR J2=1 TO JN%(KH)
3414 : IF R%(KH,J2)<>R%(IH,J1) GOTO 3417
3415 : IF B%(KH,J2)<>B%(IH,J1) GOTO 3417
3416 : M0=M0+1: MA%(M0)=IH: G=-1: GOSUB 330: GOTO 3418
3417 : NEXT J2,J1
3418 NEXT I
3419 IF G THEN M0=M0+1: MA%(M0)=KH: GOSUB 335: GOTO 3409
3420 IF M0=0 GOTO 3409
3421 FOR I=1 TO M0: IH=M(I)
3422 : FOR J1=1 TO JN%(IH): FOR J2=1 TO JN%(KH)
3423 : IF R%(KH,J2)<>R%(IH,J1) GOTO 3429
3424 : IF B%(KH,J2)<>B%(IH,J1) GOTO 3429
3425 : M0=M0+1: FOR J3=M0 TO I+2 STEP -1
3426 : MA%(J3)=MA%(J3-1)
3427 : NEXT J3: MA%(I+1)=KH: GOSUB 335: GOTO 3409
3428 : NEXT J2,J1
3429 NEXT I: GOTO 3409
3430 FOR I0=1 TO M0: N%(N0+I0-1)=MA%(I0)
3431 NEXT I0: GOTO 3404
3510 N=N%(K)
3525 FOR L=1 TO JN%(N)
3526 : FOR P1=1 TO H
3527 : IF I%(P1,R%(N,L))=B%(N,L) GOTO 3534
3528 : NEXT P1
3529 NEXT L: IF NOT Q THEN K=K+1: GOTO 3405
3530 VN=0: H%(N,1)=1
3531 FOR P2=1 TO Z%(N)
3532 : IF I%(P%(N,P2,1),R%(N,1))=0 THEN VN=VN+1: V%(N,VN)=P2
3533 NEXT P2: L%(N)=1: GOTO 3543
3534 VN=0: H%(N,1)=0
3535 FOR P2=1 TO Z%(N)
3536 : IF P%(N,P2,L)=P1 THEN VN=VN+1: V%(N,VN)=P2
3537 NEXT P2: IF VN=0 GOTO 3640
3542 L%(N)=L
3543 VN%(N)=1: V1%(N)=VN
3545 IF H%(N,1)=1 THEN H0=1: GOSUB 460
3546 IF JN%(N)=1 GOTO 3401
3547 H%(N,2)=0: H%(N,3)=0
3549 IF JN%(N)=3 GOTO 3570
3550 L1=3-L%(N):R0=R%(N,L1):B0=B%(N,L1): P1=V%(N,VN%(N)): P0=P%(N,P1,L1)
3555 IF I%(P0,R0)=B0 GOTO 3401
3560 IF I%(P0,R0)<>0 GOTO 3630
3565 FOR P2=1 TO H: IF I%(P2,R0)=B0 GOTO 3630
3567 NEXT P2: H%(N,2)=L1: H0=L1: GOSUB 460: GOTO 3401
3570 L1=1: IF L%(N)=1 THEN L1=2
3571 R0=R%(N,L1): B0=B%(N,L1): P1=V%(N,VN%(N)): P0=P%(N,P1,L1)
3575 IF I%(P0,R0)=B0 GOTO 3590
3580 IF I%(P0,R0)<>0 GOTO 3630
3585 FOR P2=1 TO H: IF I%(P2,R0)=B0 GOTO 3630
3587 NEXT P2: H%(N,2)=L1: H0=L1: GOSUB 460
3590 L2=6-L%(N)-L1
3591 R0=R%(N,L2): B0=B%(N,L2): P0=P%(N,P1,L2)
3600 IF I%(P0,R0)=B0 GOTO 3401
3605 IF I%(P0,R0)<>0 GOTO 3630
3610 FOR P2=1 TO H: IF I%(P2,R0)=B0 GOTO 3630
3620 NEXT P2: H%(N,3)=L2: H0=L2: GOSUB 460: GOTO 3401
3630 GOSUB 470
3640 VN%(N)=VN%(N)+1
3641 IF VN%(N)<=V1%(N) GOTO 3545
3645 N0=N0-1: IF N0=0 GOTO 4990
3646 N=N%(N0):GOSUB 470:VN%(N)=VN%(N)+1
3648 IF VN%(N)>V1%(N) GOTO 3645
3650 K=N0: GOTO 3545
4499 REM ---------ORDNEN 5-------------
4500 M0$=M1$+"- SCHRITT 5": GOSUB 435: K=K2
4505 K=K+1: N=N%(K): IF K>K1 GOTO 4800
4510 H%(N,1)=0: H%(N,2)=0: H%(N,3)=0: V1%(N)=0: V2%(N)=0
4515 FOR P0=1 TO H: B0=I%(P0,R%(N,1))
4520 : IF B0=B%(N,1) THEN P%(N,1,1)=P0: V1%(N)=1: GOTO 4535
4525 : IF B0=0 THEN V1%(N)=V1%(N)+1: P%(N,V1%(N),1)=P0
4530 NEXT P0
4535 FOR P0=1 TO H: B0=I%(P0,R%(N,2))
4540 : IF B0=B%(N,2) THEN P%(N,1,2)=P0: V2%(N)=1: GOTO 4560
4550 : IF B0=0 THEN V2%(N)=V2%(N)+1: P%(N,V2%(N),2)=P0
4555 NEXT P0
4560 IF V1%(N)=0 OR V2%(N)=0 GOTO 4610
4565 VN%(N)=1
4570 P1=P%(N,VN%(N),1): VM%(N)=1
4575 P2=P%(N,VM%(N),2): IF P1=P2 GOTO 4600
4580 B0=B%(N,1): R0=R%(N,1): P0=P1
4581 IF I%(P0,R0)=0 THEN H%(N,1)=1: GOSUB 461
4585 B0=B%(N,2): R0=R%(N,2): P0=P2
4586 IF I%(P0,R0)=0 THEN H%(N,2)=2: GOSUB 461
4590 GOTO 4505
4600 VM%(N)=VM%(N)+1: IF VM%(N)<=V2%(N) GOTO 4575
4605 VN%(N)=VN%(N)+1: IF VN%(N)<=V1%(N) GOTO 4570
4610 K=K-1: N=N%(K): IF K<=K2 GOTO 3640
4615 GOSUB 470
4620 VM%(N)=VM%(N)+1: IF VM%(N)>V2%(N) GOTO 4630
4625 GOTO 4575
4630 VN%(N)=VN%(N)+1: IF VN%(N)>V1%(N) GOTO 4610
4635 GOTO 4570
4799 REM --------ORDNEN 6--------------
4800 M0$=M1$+"- SCHRITT 6": GOSUB 435: K=UB
4801 IF K>KN GOTO 4900
4802 N=MB%(K): R0=R%(N,1): B0=B%(N,1)
4805 FOR P0=1 TO H
4806 : IF I%(P0,R0)=0 THEN GOSUB 461: GOTO 4820
4807 : IF I%(P0,R0)=B0 GOTO 4820
4810 NEXT P0: GOTO 4990
4820 K=K+1: GOTO 4801
4899 REM ------------------------------
4900 X=KM-8: IF KM=AN+1 GOTO 5000
4901 M0$="FRAGEN BEANTWORTEN ": GOSUB 435
4904 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 5000,4910
4906 GOTO 4904
4910 GOSUB 295: Z=2: S=1
4911 X=X+8: IF X>AN THEN X=KM
4914 Y=X+7: IF Y>AN THEN Y=AN
4916 FOR K=X TO Y: N=N%(K): ON F%(N) GOSUB 360,365,370,375
4918 : Z=Z+2: M$=A$(N): GOSUB 440
4920 NEXT K: GOTO 4901
4989 REM ------------------------------
4990 M1$="WIDERSPRUCH: AUSSAGE"+STR$(N): GOTO 2250
4999 REM ------------------------------
5000 M0$="NAECHSTE AUFGABE ": GOSUB 435
5001 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 5003,5010
5002 GOTO 5001
5003 M0$="FERTIG ": GOSUB 435
5004 GOSUB 105: ON -(C=17)-2*(C=13) GOTO 4900,5100
5005 GOTO 5004
5010 GOSUB 295
5020 TA=0: GOSUB 280: GOTO 810
5100 POKE 214,22: SYS 58640: END
8999 REM ------------------------------
9000 DATA 6,5,32
9001 DATA "NAME(ELM)+TIER(KEIN)"
9002 DATA "SPEI(SUPP)+HOBB(LES)"
9003 DATA "NAME(HAR):NAME(ANDY),NAME(ELM)"
9004 DATA "HOBB(AUTO)+SPEI[KUCH]"
9005 DATA "HAAR(BRAU)=6"
9006 DATA "HAAR(KEIN)=2456"
9007 DATA "HAAR(SCHW)>NAME(NICK)"
9008 DATA "TIER(AAL)+SPEI[FISH]"
9009 DATA "TIER(KATZ):HAAR(SCHW),HAAR(GRAU)"
9010 DATA "HAAR(GRAU)#HOBB(PROG)"
9011 DATA "NAME(ELM)#NAME(NICK)"
9012 DATA "NAME(STEF)=135"
9013 DATA "NAME(STEF)+SPEI(SAL)"
9014 DATA "NAME(ELM)+SPEI(STEK)"
9015 DATA "TIER(PFER)=23456"
9016 DATA "NAME(ANDY)+HAAR(GRAU)"
9017 DATA "NAME(NICK)+HAAR[ROT]"
9018 DATA "TIER(KATZ)+SPEI(SUPP)"
9019 DATA "HAAR(ROT)#HOBB(TV)"
9020 DATA "HAAR(GRAU)<TIER(HUND)"
9021 DATA "NAME(NICK)=1"
9022 DATA "TIER(KATZ)>HAAR(SCHW)"
9023 DATA "HOBB(BAST)+HAAR(GRAU)"
9024 DATA "TIER(VOG)+HOBB(KOCH)"
9025 DATA "TIER(KATZ)#TIER(AAL)"
9026 DATA "HAAR(BLON)+SPEI(POMM)"
9027 DATA "NAME(GOTT)"
9028 DATA "NAME(GOTT)=?"
9029 DATA "NAME(ANDY)+TIER(?)"
9030 DATA "NAME(NICK)+HAAR(?)"
9031 DATA "NAME(?)+SPEI(KUCH)"
9032 DATA "NAME(?)+HOBB(AUTO)"
9099 REM ------------------------------
9100 DATA 5,5,16
9101 DATA "NAT (ENGL)+FARB(ROT )"
9102 DATA "NAT (SPAN)+TIER(HUND)"
9103 DATA "FARB(GRUN)+GETR(KAFF)"
9104 DATA "NAT (UKR )+GETR(TEE )"
9105 DATA "FARB(GRUN)>FARB(WEIS)"
9106 DATA "RAU (ZIRE)+TIER(SCHN)"
9107 DATA "RAU (ZIGA)+FARB(GELB)"
9108 DATA "GETR(MIL )=3"
9109 DATA "NAT (NORW)=1"
9110 DATA "RAU (PFEI)#TIER(FUCH)"
9111 DATA "RAU (ZIGA)#TIER(PFER)"
9112 DATA "RAU (STUM)+GETR(LIMO)"
9113 DATA "NAT (JAP )+RAU (ZIRI)"
9114 DATA "NAT (NORW)#FARB(BLAU)"
9115 DATA "TIER(VOG )"
9116 DATA "GETR(WHIS)"
9199 REM ------------------------------
9200 DATA 5,5,31
9201 DATA "BER (ING )=1"
9202 DATA "SPOR(VOLL)=3"
9203 DATA "NAT (POL )+BER (JOUR)"
9204 DATA "BER (FEIN)+ALT (21 )"
9205 DATA "BER (LEHR)+SPOR(SCHW)"
9206 DATA "BER (KAP )+ZIEL(ROST)"
9207 DATA "SPOR(HAND)+NAT (DDR )"
9208 DATA "NAT (USSR)+ZIEL(LEIP)"
9209 DATA "ZIEL(BERL)+ALT (32 )"
9210 DATA "SPOR(LATH)+ZIEL(MAGD)"
9211 DATA "NAT (DDR )#NAT (UNG )"
9212 DATA "ALT (52 )#ZIEL(DRES)"
9213 DATA "ALT (24 )#ZIEL(LEIP)"
9214 DATA "BER (ING )#NAT (ZYP )"
9215 DATA "ALT (40 )"
9216 DATA "SPOR(FUSS)"
9299 REM ------------------------------